package com.sunlee.admin.api.module.sys.service;


import com.sunlee.admin.api.module.sys.dto.SysDictTypeDTO;
import com.sunlee.admin.api.module.sys.entity.DictType;
import com.sunlee.admin.api.module.sys.entity.SysDictTypeEntity;
import com.sunlee.common.core.entity.PageData;
import com.sunlee.common.core.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 数据字典
 *
 * @author sunlee
 */
public interface SysDictTypeService extends BaseService<SysDictTypeEntity> {

    /**
     * 分页查询字典类型
     *
     * @param params 查询参数
     * @return 分页字典类型列表
     */
    PageData<SysDictTypeDTO> page(Map<String, Object> params);

    /**
     * 通过主键查询字典类型
     *
     * @param id 主键ID
     * @return 字典类型
     */
    SysDictTypeDTO get(Long id);

    /**
     * 插入字典类型
     *
     * @param dto 字典类型实体
     */
    void save(SysDictTypeDTO dto);

    /**
     * 更新字典类型
     *
     * @param dto 字典类型实体
     */
    void update(SysDictTypeDTO dto);

    /**
     * 根据主键ID批量删除
     *
     * @param ids 主键ID
     */
    void delete(Long[] ids);

    /**
     * 获取所有字典类型
     *
     * @return 字典类型列表
     */
    List<DictType> getAllList();

}